1. Field
This Application Pertains to the Field of Artificial Intelligence and to the Recognition of Temporal events derived from images, sounds, and a host of other sensory inputs.
2. Prior Art
Scientists, engineers, and researchers use Artificial Neural Networks (ANNs) to model the operation of biological neurons by way of mathematical simulations, electronic circuitry, or computer systems in order to create artificial systems useful in data processing, pattern recognition, and control theory.
Most, if not all, ANN systems have an input layer, a hidden layer, and an output layer. A series of input signals are applied to the input layer and then the output signals from the output layer results are compared to a training set. Weight multipliers between the input layer and the hidden layer and between the hidden layer and the output layer are adjusted incrementally for a better output match to the training set.
Once trained, the resulting output of an ANN system is determined solely upon the immediate vector of input signals. In other words, the output will be the same for any input vector regardless of the input vectors presented to the ANN previously.
There are a few attempts by scientists, engineers, and researchers to expand the operation of ANN systems by adding temporal variation. One way to make ANN systems responsive to temporal variations is to add circuitry to the front end of the inputs. In U.S. Pat. No. 4,937,872 (Hopfield), electronic circuitry was added to the ANN system to delay some inputs more than other inputs. In U.S. Pat. No. 5,666,518 (Jumper), inputs are modified by Gaussian shaped delay functions. These patents modify the inputs to represent time varying signals, but the core ANN system is fundamentally the same.
There are a few theories of what the pulses in biological neurons represent and how that should be modeled in a computer system. One theory is that a firing of a single neuron is significant and can be modeled by an electronic pulse. These systems are called Pulsed Neural Networks or Spiking Neural Networks. An example of a pulsed neural network is U.S. Pat. No. 7,174,325 (Ascoli), where pulses are reduced to digital signals of delay, amplitude, and duration (DAD). The effect of simulated distal versus proximal synaptic connection is investigated.
Other inventions use time to improve on the efficacy of the traditional ANN Network. In U.S. Pat. No. 7,054,850 B2 (Matsugu), pulses are used to broadcast a plurality of neural responses over a common bus, thus achieving a wiring efficiency, with each neural output having a particular time slice to occupy a common bus. The wiring efficiency, however, has nothing to do with what the neural network is processing. There is no mention of multiple sequential images.
None of the aforementioned prior art suggests the use of timestamps or the recording of the time that events happen, as the primary element that drives the neural network. Although pulses or spikes indicate time, they may not be the most efficient representation of a temporal event. Delay, amplitude, duration, and the shape of pulses may be insignificant to the time of the event. An objective of this invention is to describe a neural network that operates predominantly on timestamps.